
<?php

class queryCLS extends Module
{
	var $connDB = 1;
	var $func;
	var $funcDB = false;
	var $sqlFunc = 1;
	var $request = array();
	var $sysError = array();
	var $appLog = 1;

	var $table = array();
	var $type = "";
	var $totRow;
	var $analyzeArray = 1;

	function importAnagrafica()
	{
		$dbAna = "liste/".$this->request["nomeFile"].".csv";
		$arrColonne = array();
		$campagna = $this->request["idCampagna"];
		$lista = 0;
		
		$row = 1;
		$row2 = 1;
 		print "$dbAna";
		if (($handle = fopen($dbAna, "r")) !== FALSE) 
		{
			while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) 
			{
				$idLista = 0;
				$num = count($data);
				
				if ($row == 1) 
				{
					$nomeNum = -1;
					$cognomeNum = -1;
					$nominativoNum = -1;
					$codiceNum = -1;

					$dataRicontattareNum = -1;
					$operatoreRicontattareNum = -1;
					$noteNum = -1;
					for ($c=0; $c < $num; $c++) 
					{
						//sostituisco gli apici per non far dare errore al db
						$data[$c] = str_replace("'","\'",$data[$c]);
					
						//mi carico le intestazioni delle colonne
						

						$arrColonne[$c] = $data[$c];
						if (preg_match('/^nome/i',$arrColonne[$c])) $nomeNum = $c;
						if (preg_match('/^cognome/i',$arrColonne[$c])) $cognomeNum = $c;
						if (preg_match('/^nominativo/i',$arrColonne[$c])) $nominativoNum = $c;
						if (preg_match('/^id/i',$arrColonne[$c])) $codiceNum = $c;
						if (preg_match('/^codice/i',$arrColonne[$c])) $codiceNum = $c;

						if (preg_match('/^dataRicontattare/i',$arrColonne[$c])) $dataRicontattareNum = $c;
						if (preg_match('/^operatorePerRicontattare/i',$arrColonne[$c])) $operatoreRicontattareNum = $c;
						if (preg_match('/^note/i',$arrColonne[$c])) $noteNum = $c;
// 						echo ">$nomeNum|$cognomeNum<";
				
					}
					
					$sql = "select max(lista) as lista from contaq_liste";

					$rs = $this->connDB->Execute( $sql );
					$this->appLog->logWrite($sql);
					
					if ( $rs === false )
					{			
					      $this->appLog->logWrite($this->connDB->ErrorMsg());
					      $this->sysError[] = "Error DB : ".$this->connDB->ErrorMsg();
					      //print_r ($this->sysError);
					      return;
					} 
					
					$idContaqDati = "";
					while ( $arr = $rs->FetchRow() ) 
					{
					    $lista = intval($arr['lista']) + 1;		   
					}
				}
				
				

				if ($row != 1) 
				{
					$nominativo = "";
					if ($nominativoNum != -1)
					{ 
						$nominativo = str_replace("\\","",$data[$nominativoNum]);
						$nominativo = str_replace("'","\'",$nominativo);
						$nome = $nominativo;
						$cognome = "";
					}
					else 
					{	
						$nome = "ERRORE";
						$cognome = "";
						
						if ($nomeNum != -1 ) 
						{
							$nome = str_replace("\\","",$data[$nomeNum]);
							$nome = str_replace("'","\'",$nome);
						}
						if ($cognomeNum != -1 ) $cognome = str_replace("'","\'",$data[$cognomeNum]);  

						$nominativo = "$nome $cognome";
					}
					
					$codice = $data[$codiceNum];
					$dataRicontattare = $data[$dataRicontattareNum];
					$operatoreRicontattare = $data[$operatoreRicontattareNum];
					
					$note = $data[$noteNum];
					$note = str_replace("'","\'",$note);

	
					if ($dataRicontattareNum != -1)
					{
						 //inserisco la lista cosi posso recuperare l'id lista
						$sql = "INSERT INTO contaq_liste
						(id_campagna,lista,nominativo,codice,data_ricontattare,operatore_per_ricontattare,note)
						VALUES ($campagna,$lista,'$nominativo','$codice','$dataRicontattare','$operatoreRicontattare','$note');";
					}
					else 
					{
					    //inserisco la lista cosi posso recuperare l'id lista
						$sql = "INSERT INTO contaq_liste
						(id_campagna,lista,nominativo,codice)
						VALUES ($campagna,$lista,'$nominativo','$codice');";
					}
					
					

					$rs = $this->connDB->Execute( $sql );
					$this->appLog->logWrite($sql);
					
					if ( $rs === false )
					{			
					      $this->appLog->logWrite($this->connDB->ErrorMsg());
					      $this->sysError[] = "Error DB : ".$this->connDB->ErrorMsg();
					      print_r ($this->sysError);
						print "<br> $sql";
					      return;
					} 
					
					//recupero l'id lista dalla lista se non l'ho preso
					if ($idLista == 0)
					{
						$sql = "select max(id_lista) as id_lista from contaq_liste";

						$rs = $this->connDB->Execute( $sql );
						$this->appLog->logWrite($sql);
						
						if ( $rs === false )
						{			
						      $this->appLog->logWrite($this->connDB->ErrorMsg());
						      $this->sysError[] = "Error DB : ".$this->connDB->ErrorMsg();
						      //print_r ($this->sysError);
						      return;
						} 
						
						$idContaqDati = "";
						while ( $arr = $rs->FetchRow() ) 
						{
						    $idLista = intval($arr['id_lista']);		   
						}
					}

					//inserisco la lista cosi posso recuperare l'id lista
					$sql = "INSERT INTO contaq_anagrafica
						(id_lista,codice,nome,cognome)
						VALUES ($idLista,'$codice','$nome','$cognome');";

					$rs = $this->connDB->Execute( $sql );
					$this->appLog->logWrite($sql);
					
					if ( $rs === false )
					{			
					      $this->appLog->logWrite($this->connDB->ErrorMsg());
					      $this->sysError[] = "Error DB : ".$this->connDB->ErrorMsg();
					      print_r ($this->sysError);
						print "<br> $sql";
					      return;
					} 

					for ($c=0; $c < $num; $c++) 
					{
						//sostituisco gli apici per non far dare errore al db
						
						
						if (preg_match('/^telefono/i',$arrColonne[$c]))
						{
							//correggere il telefono se errato
							$data[$c] = str_replace("'","",$data[$c]);
							$telefono = trim($data[$c]);
							$telefono = (preg_replace('/-/','',$telefono));
							$telefono = (preg_replace('/ /','',$telefono));
							$telefono = str_replace("+39","",$telefono);
							$telefono = str_replace("/","",$telefono);
							$telefono = str_replace("(","",$telefono);
							$telefono = str_replace(")","",$telefono);
// 							echo ">$telefono< <br><br>";
							

							$sql = "INSERT INTO contaq_telefoni 
							(id_lista,telefono)
							VALUES ($idLista,'$telefono');";

							$rs = $this->connDB->Execute( $sql );
							$this->appLog->logWrite($sql);
							
							if ( $rs === false )
							{			
							      $this->appLog->logWrite($this->connDB->ErrorMsg());
							      $this->sysError[] = "Error DB : ".$this->connDB->ErrorMsg();
							      print_r ($this->sysError);
								print "<br> $sql";
							      return;
							}     
						}
// 						else 
// 						{
// 							$data[$c] = str_replace("'","\'",$data[$c]);
// 
// 							$sql = "INSERT INTO contaq_anagrafica 
// 							(id_lista,campo,valore)
// 							VALUES ($idLista,'$arrColonne[$c]','$data[$c]');";
// 
// 							$rs = $this->connDB->Execute( $sql );
// 							$this->appLog->logWrite($sql);
// 							
// 							if ( $rs === false )
// 							{			
// 							      $this->appLog->logWrite($this->connDB->ErrorMsg());
// 							      $this->sysError[] = "Error DB : ".$this->connDB->ErrorMsg();
// 							      print_r ($this->sysError);
// 							      return;
// 							}     
// 						}
						
						
						
						
					}
				}

				$row++;
// 				if ($row == 6) 
// 				{
// 					fclose($handle);
// 					exit;
// 					return true;
// // 				
// 				}
// 				echo "/n";
			}	
			fclose($handle);
		}
		return true;
// 		print_r($arrDati);
	}
	
	
}
		
?>